package gobelinmaker.server;

/**
 * Léptető motor vezérlő parancsa.
 *
 * @author imruf84
 */
public class StepperMotorAction {

    /**
     * Motor azonosítója.
     */
    private final String motorID;
    /**
     * Lépések száma.
     */
    private long steps = 0;
    /**
     * Igaz esetén folyamatos a motor vezérlése.
     */
    private boolean continuous = false;

    /**
     * Konstruktor.
     *
     * @param motorID motor azonosítója
     * @param steps lépések száma
     * @param continuous igaz esetén folyamatos lesz a vezérlés
     */
    public StepperMotorAction(String motorID, long steps, boolean continuous) {
        this.motorID = motorID;
        this.steps = steps;
        this.continuous = continuous;
    }

    /**
     * Motor azonosítójának a lekérdezése.
     *
     * @return motor azonosítója
     */
    public String getMotorID() {
        return motorID;
    }

    /**
     * Lépések számának a lekérdezése.
     *
     * @return lépések száma
     */
    public long getSteps() {
        return steps;
    }

    /**
     * Lépések számának a megadása.
     *
     * @param steps lépések száma
     */
    public void setSteps(long steps) {
        this.steps = steps;
    }

    /**
     * Folyamatosság lekérdezése.
     *
     * @return igaz esetén folyamatos a vezérlés
     */
    public boolean isContinuous() {
        return this.continuous;
    }

    @Override
    public String toString() {
        return "StepperMotorAction{" + "motorID=" + motorID + ", steps=" + steps + '}';
    }

}
